package com.witmore.neutron.ai.web.service;

/**
 * 用户角色绑定服务接口
 * 负责处理用户与角色的绑定关系初始化
 * 
 * @author 豆子高
 * @date 2025/1/2
 */
public interface UserRoleBindingService {

    /**
     * 为新注册的普通用户绑定角色
     * @param userId 用户ID
     * @param providerId 服务商ID（可选，普通用户注册时可能没有服务商）
     */
    void bindNormalUserRole(Long userId, Long providerId);

    /**
     * 为服务商管理员绑定角色
     * @param userId 用户ID
     * @param providerId 服务商ID
     */
    void bindServiceProviderAdminRole(Long userId, Long providerId);

    /**
     * 检查用户是否已经有角色绑定
     * @param userId 用户ID
     * @return 是否已有角色绑定
     */
    boolean hasRoleBinding(Long userId);
}